One of the most prominent aspects of interfacing with modern computer operating systems is the graphical user interface (GUI). A user employs a GUI to perform various operations supported by the computer operating system and to graphically interact with the operating system and application programs. Interaction with the computer by way of a GUI may include, for example, opening and closing windows, entering information into forms, selecting commands from a pop-up or pull-down menu, activating check boxes or radio buttons, or otherwise generally manipulating elements of the computer's GUI.
In the course of interfacing with the GUI, a user may perform invalid functions, enter invalid information that is not discernable by the operating system or an active application, or otherwise cause computer errors. In such situations, the GUI must notify the user of the error by reporting a warning to the user regarding any invalid information which has been entered. Generally this occurs by way of a system error message or other similar error message. Frequently, when such error messages are displayed to a user, they have a limiting effect on the user's ability to interact with the computer. For example, it is common when an error message is being displayed that the user is unable to access any other computer applications until the error message is dismissed or the problem causing that error has been fixed. This type of error notification is generally referred to as a system modal notification because no resources of the entire system are available until it is dismissed. Such error messages often are placed in front of other windows running applications in the GUI and do not allow the user to view these windows while the error message is being displayed.
The fact that a user is unable to access other applications during the time in which error messages are being displayed may be particularly troublesome for time-sensitive applications. Should the user wish to view other applications being executed on the computer, it is necessary to first dismiss the warning message before interaction with the other applications can resume.
In addition to system modal events, which lock up the resources of the entire system, other modalities exist as well. For example, some error notification objects are application modal, meaning that no resources associated with the application to which the notification object is related may be used until the notification is dismissed; however, other applications may be used without dismissing an application modal notification. A window modal object is attached to a specific window, and prevents resources of a specific window from being used until it is dismissed. However, with a window modal object, a user may switch between windows and interact with other windows, as only the window that is related to the window modal object has its resources locked until dismissal of the object.
These other types of modal objects (i.e., application modal objects and window modal objects) may also cause problems for a user of the computer. For example, if an error notification is either application modal or window modal, it is possible that the notification object itself may obscure information required by the user prior to dismissal of the notification object. Additionally, a modal notification object of any kind may contain information required by the user after dismissal of the notification object. In such a case, the user would be required to remember or record the information contained within the notification object for use after the object has been dismissed.
Accordingly, it is desirable to provide a system and method of notifying a user of computer warnings and errors that obviate the problems discussed above. Specifically, it is desirable to provide a system and method for notifying a user of computer warnings and errors by providing information about warnings and errors in a manner such that the user may freely use other applications and windows, and access other processes of the computer operating system without requiring that the user first address the error or dismiss a warning message. It is further desirable that objects containing information regarding computer warnings and errors be presented in such a fashion that a user may readily access other portions of the GUI by using collapsible, non-obscuring notification objects.